home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
BBS in a Box 7
/
BBS in a Box - Macintosh - Volume VII (BBS in a Box) (January 1993).iso
/
Files
/
Tele
/
C
/
Comet2.1.3.cpt
/
include
/
3270.h
next >
Wrap
Text File
|
1991-07-24
|
6KB
|
175 lines
/***************************************************************************
**** 3270 Driver header file ****
***************************************************************************/
/*
Copyright Cornell University 1986. All rights are reserved.
*/
#define ZF 0x0040 /* mask bit of zero flag */
#define AID_RESET 0x60 /* code for no AID generated */
#define FWD 0 /* forward search direction for screen attr */
#define BACK 1 /* backward search direction for screen attr */
#define TABS 38 /* number of 3270 keys to support */
#define TELNETSOCK 23 /* Telnet well known socket no. */
#define SCREEN_SIZE 1920 /* size of the screen map */
#define ROW_SIZE 80 /* # of characters per row */
#define COL_SIZE 24
/* 3270 model IDs */
#define IBMMOD2 0
#define IBMMOD3 1
#define IBMMOD5 2
/* define the 3270 command codes */
#define W 0x01 /* Write */
#define RB 0x02 /* Read Buffer */
#define EW 0x05 /* Erase/Write */
#define RM 0x06 /* Read Modified */
#define EWA 0x0D /* Erase/Write Alternate */
#define RMA 0x0E /* Read Modified All */
#define EAU 0x0F /* Erase All Unprotected */
/* define the 3270 order codes */
#define PT 0x05 /* program tab */
#define GE 0x08 /* graphic escape */
#define SBA 0x11 /* set buffer address */
#define EUA 0x12 /* erase unprotected to address */
#define IC 0x13 /* insert cursor */
#define SF 0x1D /* start field */
#define SA 0x28 /* set attribute, never seen */
#define SFE 0x29 /* start field extended, never seen */
#define MF 0x2C /* modify field, never seen */
#define RA 0x3C /* repeat to address */
/* define the Write Control Character (WCC) bit definitions */
#define RMDT 0x01 /* reset modified data tag */
#define KYBDRST 0x02 /* keyboard resotre bit */
#define SNDALRM 0x04 /* sound alarm */
/* define the bit definitions for the 3270 field attributes */
#define MDT 0x01 /* modified data tag */
/* 0 -> field not modified */
/* 1 -> field modified */
#define PROT 0x02 /* protected/unprotected */
/* 0 -> unprotected */
/* 1 -> protected */
/* PROTECTED is 0x20 in data stream;
0x02 is RESERVED */
#define DSPD 0x0C /* display detectable mask */
/* 00 -> display/not pen-detectable */
/* 01 (4) -> display/pen-detectable */
/* 10 (8) -> intensified display/detectable */
/* 11 (12) -> nondisplay/non-detectable */
#define INVIS 0x0C /* display detectable field is invisible */
#define ALPHANUM 0x10 /* alphanumeric */
/* 0 -> alphanumeric */
/* 1 -> numeric */
#define DSPMOD 0x1E /* ALL screen detectable fields for our color 3270 */
#define HOSTPROT 0x20 /* protected/unprotected host representation */
#define GC 0xC0 /* graphic converter */
#define ATTR 32 /* if < 32 char is an attribute */
#define IBMNULL 0xFF /* NULL gets bumped to 0xff */
/* event_reg bit definitions */
#define SCREEN_EVENT 0x0001 /* post new info to update real screen */
#define SOUND_ALARM 0x0002 /* post sound terminal bell from WCC */
#define KYBD_RESTORE 0x0004 /* post unlock keyboard from WCC */
#define SYS_LOCK 0x0008 /* post lock keyboard from send ATTN */
#define HOST_EVENT 0x0010 /* post process string from host */
#define INSERT 0x0020 /* post insert mode */
#define LINE_25 0x0040 /* post update 3270 status line */
#define SCREEN_REFRESH 0x0080 /* post update screen ready */
#define KYBD_LOCK 0x0100 /* post lock keyboard from illegal key */
#define TFTP_ON 0x0200 /* post file transfer in progress */
#define TCP_ACK 0x0400 /* post we should ack TCP packet */
#define CLEAR_KEY 0x0800 /* CLEAR was most recent key */
#define TICKLE 0x1000 /* post tickle telnet ayt */
#define FIN 0x2000 /* post fin sent to host */
/* The real pfkey codes */
#define RPF1 0xf1
#define RPF2 0xf2
#define RPF3 0xf3
#define RPF4 0xf4
#define RPF5 0xf5
#define RPF6 0xf6
#define RPF7 0xf7
#define RPF8 0xf8
#define RPF9 0xf9
#define RPF10 0x7a
#define RPF11 0x7b
#define RPF12 0x7c
#define RPF13 0xc1
#define RPF14 0xc2
#define RPF15 0xc3
#define RPF16 0xc4
#define RPF17 0xc5
#define RPF18 0xc6
#define RPF19 0xc7
#define RPF20 0xc8
#define RPF21 0xc9
#define RPF22 0x4a
#define RPF23 0x4b
#define RPF24 0x4c
#define RPA1 0x6c
#define RPA2 0x6e
#define RPA3 0x6b
#define RCLEAR 0x6d
#define RENTER 0x7d
/* ASCII map key equivalents */
#define IBMK_RS 0x80 /* record separator | -- vertical bar */
#define IBMK_FS 0x81 /* field separator -- double dagger */
#define IBMK_TAB 0x81 /* IBM tab for PASTE or key macro only */
#define SCRALLMOD 0xffffffff /* modflg test for all changed */
int err_sub(); /* exit the program */
int tftp_on(); /* called by server while transfer in progress */
int tftp_off(); /* called by server when transfer finished */
/* 3270 command Interface */
int cmd(); /* deal with commands from host */
int read_mod(); /* read modified logic */
int eau(); /* erase all unprotected logic */
/* Miscellaneous Routines */
int mem_clear(); /* clear a chunk of memory */
int addr_12(); /* form 12 bit address to send to host */
int pc_attr(); /* translate 3270 attribute into PC attribute */
unsigned char *look_attr(); /* look forward or back to screen attr byte */
unsigned char *next_unp(); /* find next unprotected field */
unsigned char *first_unp();
long memtest(); /* check to see if enough memory available */
/* system subroutines */
char *malloc(); /* returns a pointer to allocated storage */